package com.zmn.plat.services.interfaces.message;

import java.util.List;

import com.zmn.plat.model.entity.message.MsgWechatTemplate;

/**
 * 描述: 基础接口类
 *
 * @author tanghongjun
 * @since 2020-06-19 15:34:59
 **/
public interface MsgWechatTemplateService {

    /**
     * 描述: 根据id查询数据
     *
     * @param msgWechatTemplateId
     *            id
     * @return MsgWechatTemplate
     * @author tanghongjun
     * @since 2020-06-19 15:34:59
     **/
    MsgWechatTemplate findById(Integer msgWechatTemplateId);

    /**
     * 描述：通过微信appid，获取一条该模板下的配置数据
     *
     * @param templateId
     *            模板id
     * @param wechatAppId
     *            wechatAppId 微信appid
     * @return com.zmn.plat.model.entity.message.MsgWechatTemplate
     * @author wangjie
     * @since 2020/6/22 15:31
     **/
    MsgWechatTemplate findMsgWechatTemplateByTemplateIdAndWechatAppId(Integer templateId, String wechatAppId);

    /**
     * 描述：根据模板id 查询配置的微信数据
     *
     * @param templateId
     *            模板id
     * @return java.util.List<com.zmn.plat.model.entity.message.MsgWechatTemplate>
     * @author wangjie
     * @since 2020/6/19 16:46
     **/
    List<MsgWechatTemplate> listByTemplateId(Integer templateId);

    /**
     * 描述: 根据id修改数据 id为必传
     *
     * @param msgWechatTemplate
     *            待修改数据
     * @return java.lang.Integer
     * @author tanghongjun
     * @since 2020-06-19 15:34:59
     **/
    Integer updateByKey(MsgWechatTemplate msgWechatTemplate);

    /**
     * 描述: 新增数据
     *
     * @param msgWechatTemplate
     *            待新增数据
     * @return java.lang.Integer 主键key
     * @author tanghongjun
     * @since 2020-06-19 15:34:59
     **/
    Integer insert(MsgWechatTemplate msgWechatTemplate);

    /**
     * 描述: 批量新增数据
     *
     * @param msgWechatTemplateList
     *            待新增数据
     * @author tanghongjun
     * @since 2020-06-19 15:34:59
     **/
    void insertBatch(List<MsgWechatTemplate> msgWechatTemplateList);

}
